load("@prysm//tools/go:def.bzl", "go_library")
load("@rules_proto//proto:defs.bzl", "proto_library")
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")

# gazelle:ignore
proto_library(
    name = "ethereum_validator_accounts_v2_proto",
    srcs = [
        "keymanager.proto",
        "web_api.proto",
    ],
    visibility = ["//visibility:public"],
    deps = [
        "@com_github_prysmaticlabs_ethereumapis//eth/v1alpha1:proto",
        "@com_google_protobuf//:empty_proto",
        "@go_googleapis//google/api:annotations_proto",
        "@gogo_special_proto//github.com/gogo/protobuf/gogoproto",
    ],
)

go_proto_library(
    name = "ethereum_validator_account_gateway_proto",
    compilers = [
        "@io_bazel_rules_go//proto:go_grpc",
        "@com_github_grpc_ecosystem_grpc_gateway//protoc-gen-grpc-gateway:go_gen_grpc_gateway",
    ],
    importpath = "github.com/prysmaticlabs/prysm/proto/validator/accounts/v2_gateway",
    proto = ":ethereum_validator_accounts_v2_proto",
    visibility = ["//visibility:public"],
    deps = [
        "@com_github_golang_protobuf//descriptor:go_default_library",
        "@com_github_golang_protobuf//ptypes/empty:go_default_library",
        "@com_github_prysmaticlabs_ethereumapis//eth/v1alpha1:go_default_library",
        "@go_googleapis//google/api:annotations_go_proto",
        "@com_github_gogo_protobuf//gogoproto:go_default_library",
    ],
)

go_proto_library(
    name = "ethereum_validator_account_go_proto",
    compilers = [
        "@prysm//:grpc_proto_compiler",
    ],
    importpath = "github.com/prysmaticlabs/prysm/proto/validator/accounts/v2",
    proto = ":ethereum_validator_accounts_v2_proto",
    visibility = ["//visibility:public"],
    deps = [
        "@com_github_prysmaticlabs_ethereumapis//eth/v1alpha1:go_default_library",
        "@go_googleapis//google/api:annotations_go_proto",
    ],
)

go_library(
    name = "go_default_library",
    embed = [":ethereum_validator_account_go_proto"],
    importpath = "github.com/prysmaticlabs/prysm/proto/validator/accounts/v2",
    visibility = ["//visibility:public"],
)
